# coding:UTF-8
"""
每一个被封住的属性都有setter和getter方法
setter方式公式
def set_属性名（self.属性名）：
    self.__属性名=属性名
getter方式公式
def get_属性名（self.属性名）：
    return self.__属性名

访问封装属性的唯一方法
"""
class Member():
    # setter,getter方法来解决被封装的属性
    def set_name(self,name):  # setter操作
        self.__name = name

    def set_age(self,age):
        self.__age = age

    def get_age(self):  # getter操作
        return self.__age

    def get_name(self):
        return self.__name

    def set_info(self,name,age):
        self.__name = name # 封装属性，只能被内部访问
        self.__age = age # 封装属性，只能被内部访问

    def get_info(self):
        return "姓名是：%s,年龄是：%d" % (self.name,self.age)

def text_main():
    mem = Member()
    # 当属性被封装，只能通过setter和getter方法取值和设置
    mem.set_name("zhangsan") # 不能使用 men.set_name = "zhangsan" 这种形式
    # 不能在在使用men.name = ’zhangsan‘这中形式，因为属性被封装了
    mem.set_age(6)
    print("姓名是：%s,年龄是：%d" % (mem.get_name(),mem.get_age()))


if __name__ == '__main__':
    text_main()


"""
对于类中的私有属性的访问，都是通过这种形式来完成的，这种情况是不会直接利用 对象.属性 进行操作了
"""









